home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9608 / 000005_owner-urn-ietf _Mon Aug 5 00:02:46 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  9KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id AAA05222 for urn-ietf-out; Mon, 5 Aug 1996 00:02:46 -0400
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id AAA05215 for <urn-ietf@services.bunyip.com>; Mon, 5 Aug 1996 00:02:41 -0400
  3. Received: from mintaka.lcs.mit.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA14348  (mail destined for urn-ietf@services.bunyip.com); Mon, 5 Aug 96 00:02:38 -0400
  5. Received: from skadhwe.lcs.mit.edu by MINTAKA.LCS.MIT.EDU id aa20264;
  6.           5 Aug 96 0:02 EDT
  7. Received: by skadhwe.lcs.mit.edu; (5.65/1.1.8.2/15Aug95-0306PM)
  8.     id AA00929; Mon, 5 Aug 1996 00:02:20 -0400
  9. Date: Mon, 5 Aug 1996 00:02:20 -0400
  10. Message-Id: <9608050402.AA00929@skadhwe.lcs.mit.edu>
  11. From: Lewis Girod <girod@LCS.MIT.EDU>
  12. To: terry@ora.com
  13. Cc: urn-ietf@bunyip.com
  14. In-Reply-To: <199608031809.LAA01004@rock.west.ora.com> (message from Terry
  15.     Allen on Sat, 3 Aug 1996 11:09:48 PDT)
  16. Subject: Re: [URN] re NAPTR, URN-res-req
  17. Sender: owner-urn-ietf@services.bunyip.com
  18. Precedence: bulk
  19. Reply-To: Lewis Girod <girod@LCS.MIT.EDU>
  20. Errors-To: owner-urn-ietf@bunyip.com
  21.  
  22. On Sat, 3 Aug 1996 11:09:48 PDT, Terry Allen <terry@ora.com> wrote:
  23.  
  24. >Would you sketch a sample lookup sequence for a URN for which official
  25. >and unofficial hints have been injected into the system?  Is it a matter
  26. >of user/client preferences as to which hints are heeded?  (See the
  27. >Bobsnamespace example below.)
  28.  
  29. It would be a matter of end client preferences which hints would be
  30. used first and which would be provided to the user at all.  I envision
  31. the client requesting the official information as well as at most N
  32. unofficial hints from the system for any particular URN lookup.  The
  33. browser would use the official hint info by default while at the same
  34. time pointing out that other information is available.  There might be
  35. other types of preferences as well, I haven't thought about it too
  36. much.
  37.  
  38. >I am imagining something like this:  Bobsnamespace consists of the
  39. >names 1 through 8.  Bob sells off from this name space 2, 4, 5, and 7,
  40. >rather than a block of names, and further he declines to resolve them
  41. >after he sells them (maybe he goes out of business).  The result
  42. >will be (I think) that no one resolver handles the entire name space,
  43. >and that it is not possible to predict from the URN which of the
  44. >several resolvers for Bobsnamespace should be queried first.  
  45.  
  46. This is at the crux of the namespace migration problem.  The
  47. generalized scheme I mentioned in the document involves two different
  48. methods of delegation.  When Bob ``sells off'' names from his space,
  49. he has the option of ``officially'' delegating the names or of
  50. handling the delegation himself.  The difference here is that an
  51. ``official'' delegation puts the delegation information up at the
  52. ``top'' level, in effect flattening the namespace, at least in terms
  53. of layers of resolution mechanism.  For Bob's clients, this has
  54. advantages: (1) Bob has nothing to do with their resolution, because
  55. their URNs go direct to their specified resolution service, so they
  56. are not dependent on him, only on the top level (2) Depending on how
  57. the top level resolution system works, this may be faster since it may
  58. involve fewer steps of resolution.  The disadvantages to official
  59. delegation are (1) a little bit more of the structure of your
  60. namespace is publicly known (2) the top level gets big as time goes on
  61. (but for this to work at all the system has to be able to scale in
  62. response!) (3) it will likely cost money to enter an official
  63. delegation, which is likely passed on to the client.
  64.  
  65. In answer to Bob's conundrum, if the names are not easily generalized
  66. according to whatever rules exist (for example, simple string prefixes
  67. after a canonicalization process) it will cost a lot more to
  68. officially delegate the names, because in some cases there may simply
  69. be no generalization and official delegation would be commensurate
  70. with listing each URN.  To the degree that the names are not
  71. officially delegated all bets are off when Bob goes out of business.
  72. Presumably, however, Bob or someone else could extort sufficient funds
  73. from of his clients to continue resolving the URNs.. ;-)
  74.  
  75. In general, with such a system clients who intend to use their URNs
  76. for a long time would be wise to be sure that if something goes wrong
  77. with their service providers they can salvage their URNs in a
  78. cost-effective manner.
  79.  
  80. >This will work for some, perhaps a great many, URN lookups, but not
  81. >all.  
  82.  
  83. Yes.  Some URN lookups may want to use a secret or proprietary 
  84. resolution process for example.  No generalized system would be
  85. sufficient in all such cases
  86.  
  87. >Further, it won't be possible to prevent people from inventing name
  88. >spaces that don't decompose nicely.  The top-level URN name space
  89. >registry can't refuse to register such name spaces, or it ceases to
  90. >be useful.  In addition to grandfathering, there's a requirement to
  91. >be able to "cousin-in" name spaces invented by people who weren't
  92. >aware they weren't following the rules preferred by the top-level
  93. >registry.  These may have to be resolved by brute force (matching
  94. >the entire URN string) or use of other info.
  95.  
  96. This is true; but if a certain type of service is provided by this
  97. system, it increases the likelihood that new namespaces fit themselves
  98. into it.  To the degree that they don't or can't, they will need to be
  99. escaped to other systems from the top level.  I guess it is a question
  100. of balancing the goal of keeping URNs alive with that of having a
  101. buildable system.  The system I sketched in section 4 and the NAPTR
  102. proposal represent different points on this spectrum.  With any
  103. system, there may be cases where a namespace is a real mess and can't
  104. be effectively split up; either it gets served in total by someone
  105. else or by some other technique, or parts of it are forced into the
  106. system and the remaining parts are lost.
  107.  
  108. What we are really talking about here is having a dependable top level
  109. sevice, one that doesn't go out of business as we suspect Bob might.
  110. Presumably this dependability would stem from some kind of cooperative
  111. management in which a large number of interested parties run servers
  112. that serve a large distributed database.  This database can escape to
  113. other similar systems if the need arises (or a new version of the
  114. software can be written which extends the capabilities for
  115. generalization exhibited by the original.)  The controversy is over
  116. what basic services should be provided by this top level, and what
  117. services should be delegated to other (possibly less dependable)
  118. levels, and how this in fact affects the goals of long-lived URNs, of
  119. flexibility of namespace design, and of grandfathering in existing
  120. namespaces.
  121.  
  122. Personally, I think that one simple way to fix a lot of these problems
  123. is to offer each person his/her own namespace (for a very reasonable
  124. fee), in a way that can be generalized so that their URNs are easily
  125. mapped to the resolution service of their choice.  For example,
  126. URN:PEOPLE:unambiguous_name/* would be one syntax (perhaps it would be
  127. best to assign people numbers in order to cut down on lawsuits and
  128. trademark issues).  Doing this guarantees a certain base level of
  129. stability, since people currently tend to keep a constant identity for
  130. say 50 years or so.  Doing this adds a lot of stuff to the database
  131. initially, but the total amount is limited by other factors such as
  132. the availability of food and the asking price for slots in the
  133. database, so scaling issues should be controllable.  How each person
  134. chooses to structure his namespace below this is not specified, but at
  135. least any damage is constrained to that individual's personal space.
  136.  
  137. This sort of fix would occur after the system is in place (i.e. the
  138. future), and I bring it up mostly as an example of the sorts of
  139. namespace-design techniques that will likely help with these problems,
  140. after the top level system is implemented and the framework is
  141. essentially set in stone, at least for the short term.  I doubt that
  142. any system can keep every URN alive, unless it is prepared to store
  143. the whole list of URNs.  What is more important is getting most of
  144. them (this includes deciding what meaning of ``most'' satisfies you),
  145. and providing ways of setting things up that both satisfy the clients'
  146. requirements and ensure that their URNs will stick around.  Those that
  147. choose not to follow these guidelines may get into trouble.  I think
  148. this is true of any system that works on a principle of generalizing
  149. classes of URNs; for all systems, there is some generalization
  150. strategy is not efficient (for example, if all of your URNs are
  151. products of two large prime numbers... ;-) )
  152.  
  153.  
  154.   Regards,
  155.  
  156.      Lewis